<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="BusPositionInfoType">
    <xs:sequence>
      <xs:element name="Date" type="xs:date" />
      <xs:element name="Time" type="xs:time" />
      <xs:element name="GridLocation" type="sif:GridLocationType" />
      <xs:element name="TelematicsId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TelemetryList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Telemetry" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="BusDriver" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
            <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
            <xs:element name="Status">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="On" />
                  <xs:enumeration value="Off" />
                  <xs:enumeration value="Sched" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="BusStaffList" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BusStaff" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Name" minOccurs="0" nillable="true" type="sif:NameType" />
                  <xs:element name="EmployeePersonalRefId" minOccurs="0" nillable="true" type="sif:IdRefType" />
                  <xs:element name="Status">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="On" />
                        <xs:enumeration value="Off" />
                        <xs:enumeration value="Sched" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="RouteStatus" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BusRouteInfoRefId" type="sif:IdRefType" />
            <xs:element name="Status">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Begin" />
                  <xs:enumeration value="End" />
                  <xs:enumeration value="Continue" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="OtherStatus" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Odometer" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Unit" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="km" />
                    <xs:enumeration value="m" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Speedometer" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:decimal">
              <xs:attribute name="Unit" use="required">
                <xs:simpleType>
                  <xs:restriction base="xs:token">
                    <xs:enumeration value="km" />
                    <xs:enumeration value="m" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="Students" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Student" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="StudentPersonalRefId" type="sif:IdRefType" />
                  <xs:element name="Status">
                    <xs:simpleType>
                      <xs:restriction base="xs:token">
                        <xs:enumeration value="On" />
                        <xs:enumeration value="Off" />
                        <xs:enumeration value="Entered" />
                        <xs:enumeration value="Exited" />
                        <xs:enumeration value="Sched" />
                      </xs:restriction>
                    </xs:simpleType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="SIF_Metadata" minOccurs="0" nillable="true" type="sif:SIF_MetadataType" />
      <xs:element name="SIF_ExtendedElements" minOccurs="0" nillable="true" type="sif:SIF_ExtendedElementsType" />
    </xs:sequence>
    <xs:attribute name="BusInfoRefId" use="required" type="sif:IdRefType" />
  </xs:complexType>

  <xs:element name="BusPositionInfo" type="sif:BusPositionInfoType" />

</xs:schema>